package com.itheima.d1_properties;

import java.io.FileReader;
import java.io.FileWriter;
import java.util.Properties;

/**
 * 目标：掌握把键值对数据存入到属性文件中去
 */
public class PropertiesTest2 {
    public static void main(String[] args) throws Exception {
        // 1、创建Properties对象出来，先用它存储一些键值对数据
        //public Object setProperty(String key, String value)     保存键值对数据到Properties对象中去。
        Properties properties = new Properties();
        properties.setProperty("张无忌", "minmin");
        properties.setProperty("殷素素", "cuishan");
        properties.setProperty("张翠山", "susu");

        // 2、把properties对象中的键值对数据存入到属性文件中去
        //我们是保存文本内容，还是通向字符输出流好一点，store方法的第二个参数是声明一些注释，也会保存在属性文件中，有异常直接抛出去
        //注意：这个管道不需要我们去关闭，因为这个管道是作为一个参数给store方法，内部用完这个管道后，会帮忙关闭的
        properties.store(new FileWriter("Day10Properties-Xml-Log-App/src/users2.properties")
                , "i saved many users!");

        System.out.println("-------自己试一试，会覆盖之前属性文件内容---------");
        Properties zproperties = new Properties();
        zproperties.setProperty("每天","都很多琐事");
        zproperties.setProperty("偶尔","非常烦");

        zproperties.store(new FileWriter("Day10Properties-Xml-Log-App\\src\\zeng2.Properties"),"zeng ji hong niu bi,zhu shi xie zhong wen luan ma");

        //只更改键为偶尔的值，看看其他键值对是否会被覆盖，重新建一个Properties对象
        Properties z2pro = new Properties();
        z2pro.load(new FileReader("Day10Properties-Xml-Log-App\\src\\zeng2.Properties"));

        if (z2pro.containsKey("偶尔")){
            z2pro.setProperty("偶尔","每天都要开心心");
        }
        z2pro.store(new FileWriter("Day10Properties-Xml-Log-App\\src\\zeng2.Properties"),"zhi gai bian ouer jian");


    }
}
